package acwing.算法题;

import java.util.Scanner;

/**
 * @author： li
 * @date： 2022-03-19 23:46
 * @version 1.0
 */

public class 树状数组 {
    static int n,t;
    static int[] a =new int[n];//原数组
    static int[] c =new int[n];//树状数组
    //C[i] = A[i-2^k+1]+A[i-2^k+2]+ ... + A[i];
    // k为i的二进制中从最低位到高位连续零的长度
    static int lowbit(int x){
        return x&(-x);
        //lowbit=2^k = i&(-i);
        // k为x的二进制数中从低位到高位连续零的长度
    }
    //在树状数组的第i个位置加上k
    static void update(int i,int k){
        while(i<=n){
            c[i]+=k;
            i+=lowbit(i);
        }
    }
    //求a[1]~a[i]的和
    static int getsum(int i){
        int res=0;
        while (i>0){
            res+=c[i];
            i-=lowbit(i);
        }
        return res;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        sc.close();
    }
}
